package main

import (
	"fmt"
	"log"
	"os"
	"os/exec"
	"syscall"
)

func env() {
	os.Setenv("FOO", "1")
	fmt.Println("FOO", os.Getenv("FOO"))
	fmt.Println("BAR", os.Getenv("BAR"))
}

func exectest() {
	binary, lookErr := exec.LookPath("ls")

	if lookErr != nil {
		panic(lookErr)
	}

	args := []string{"ls", "-a", "-l", "-h"}

	env := os.Environ()

	execErr := syscall.Exec(binary, args, env)
	if execErr != nil {
		panic(execErr)
	}
}

func maptest() {
	fmt.Println("start map...")
	mapData := make(map[string]interface{})

	mapData["nile"] = 5

	fmt.Println("printf:", mapData)
}

func main() {
	f, err := os.Open("a.json")
	if err != nil {
		log.Fatal(err)
	}

	b1 := make([]byte, 5)

	n1, err := f.Read(b1)

	if err != nil {
		log.Fatal(err)
	}

	fmt.Println("n1:", n1)
	fmt.Printf("%d bytes: %s\n", n1, string(b1))
	//env()
	// exectest()
	maptest()
}
